package com.yxj.MyThreadPool2;

import java.util.concurrent.*;

public class MyThreadPollDemo {
    /*
    * ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(核心线程数量,最大线程数量,空闲线程最大存活时间,任务队列,创建线程工厂,任务的拒绝策略);
    参数一:核心线程数量
    参数二:最大线程数
    参数三:空闲线程最大存活时间
    参数四:时间单位
    参数五:任务队列
    参数六:创建线程工厂
    参数七:任务的拒绝策略
    不能小于e
    不能小于等于0，最大数量 >=核心线程数量
    不能小于0
    用TimeUnit指定
    不能为nu11
    不能为nu11
    不能为nu11
* */

    ThreadPoolExecutor pool = new ThreadPoolExecutor(
            3,//核心线程数量
            6,//最大线程数
            60,//空闲线程最大存活时间
            TimeUnit.SECONDS,//时间单位
            new ArrayBlockingQueue<>(3),//任务队列
            Executors.defaultThreadFactory(),//创建线程工厂
            new ThreadPoolExecutor.AbortPolicy()//任务的拒绝策略
    );
}
